home *** CD-ROM | disk | FTP | other *** search
- Re: Problems with CP/M Kermit Version 4.09
-
- Following is a list of problems and their solutions for CP/M Kermit
- Version 4.09. Bear in mind that the latest version of CPSPK1.ASM I have is
- edit (11) and of CPSPK2.ASM is edit (4).
-
- Problem: When the terminal is in "quiet" mode, initiation of file-transfers
- causes lots of garbage to appear on the screen which is distracting
- and which raises havoc with voice output devices.
- Diagnosis: In the module CPXCOM.ASM, the routine "prtstr" has two flavors:
- one for machines which cannot display control-characters via BDOS
- function 9 and one which can display such characters via function 9.
- In this latter case, only register pair BC is saved around the BDOS
- call. This is insufficient as BDOS also clobbers register pairs
- DE and HL during the call. In "quiet" mode, at least one of these
- pairs is expected to remain constant.
- Solution: Save register pairs DE and HL around the function 9 BDOS call.
-
- Problem: When GETting a file, the initialization routine "init" is executed
- twice. This doesn't harm anything and may not be noticeeable in
- print but is most annoying when using voice output as "init" types
- out the Kermit version and screen initialization strings and thus
- one hears them twice.
- Solution: In the module CPSPK1.ASM, move the label "read0a" down one line
- so that the common code for the "receive" and "get" commands starts
- just *after* the call to "init" is made in "receive" mode.
-
- Problem: With "auto-receive" set to "off", after a RECEIVE has completed,
- Kermit waits for Console input; then looks for more data to receive
- when there is none.
- Diagnosis: In the module CPSPK1.ASM, when the status of "auto-receive" is
- checked, the wrong label is branched to if "auto-receive" is OFF.
- Solution: Change the instruction "jz read5c" to "jz read5b".
-
- Problem: Files whose filenames are less then 8 characters in length have
- ASCII zeros ("0") appended to them.
- Diagnosis: In the module CPSPK2.ASM, after label "gofi7b", where the status
- of "file-warning" is checked, the code for the appending of "&"
- characters to filenames if the file already exists on disk has been
- commented out and new code putting numeric suffixes on filenames
- in this case has been substituted. In the process, the code for
- checking for a file's existence has been accidentally commented out.
- Thus, if "file-warning" is "on", *every* file is assumed to have
- a duplicate and a numeric suffix is added to each filename. In
- addition, no warning of this is given on-screen.
- Solution: (1) Uncomment the code which checks for the existence of each file.
- (2) Uncomment the code which prints the file-warning error message
- and put a "lxi d,fnbuf" instruction between the "stax d" shown in
- CPKERM.BWR and the call to "prtstr" so that routine can print the
- filename of any file whose existence has been detected.
-
-
- With these changes, Kermit-80 performs like a champ.
- Following are file comparisons showing the changes noted above.
-
- ************
- File DISK$USER:[OGRFJMF.KERMIT.CPM]CPXCOM.ASM;1
- 418 push b
- ******
- File DISK$USER:[OGRFJMF.KERMIT.CPM.HP125]CPXCOM.ASM;1
- 418 PUSH H
- 419 PUSH D
- 420 push b
- ************
- ************
- File DISK$USER:[OGRFJMF.KERMIT.CPM]CPXCOM.ASM;1
- 422 ret ; all done for good machines
- ******
- File DISK$USER:[OGRFJMF.KERMIT.CPM.HP125]CPXCOM.ASM;1
- 424 POP D
- 425 POP H
- 426 ret ; all done for good machines
- ************
-
- Number of difference sections found: 2
- Number of difference records found: 4
-
- DIFFERENCES /IGNORE=()/MERGED=1/OUTPUT=DISK$USER:[OGRFJMF.KERMIT.CPM.HP125]CPXCOM.DIF;1-
- DISK$USER:[OGRFJMF.KERMIT.CPM]CPXCOM.ASM;1-
- DISK$USER:[OGRFJMF.KERMIT.CPM.HP125]CPXCOM.ASM;1
-
- File 1) DSKE:CPSPK1.ASM[10,50,KERMIT,CPM] created: 1940 26-Aug-89
- File 2) DSKE:CPSPK1.ASM[10,50,KERMIT,CPM,HP125] created: 2247 27-Aug-89
-
- 1)1 read0a: call init ;clear line, initialise buffers
- 1) lxi d,remnam ;[gnn] save local name here
- 1) mvi a,cmtxt ;[gnn]
- ****
- 2)1 call init ;clear line, initialise buffers
- 2) read0a: lxi d,remnam ;[gnn] save local name here
- 2) mvi a,cmtxt ;[gnn]
- **************
- 1)2 jz read5c ; no autoreceives, so drop out
- 1) lxi d,anymes ; load up Press any key to continue
- ****
- 2)2 jz read5b ; no autoreceives, so drop out
- 2) lxi d,anymes ; load up Press any key to continue
- **************
-
- File 1) DSKE:CPSPK2.ASM[10,50,KERMIT,CPM] created: 0829 28-Aug-89
- File 2) DSKE:CPSPK2.ASM[10,50,KERMIT,CPM,HP125] created: 2259 27-Aug-89
-
- 1)1 ; mvi c,openf ;See if the file exists.
- 1) ; lxi d,fcb
- 1) ; call bdos
- 1) ; cpi 0FFH ;Does it exist?
- 1) ; jz gofil9 ;If not create it.
- 1) ; lxi d,infms5
- 1) ; call error3
- 1) ; lda temp2 ;Get the number of chars in the file name.
- ****
- 2)1 mvi c,openf ;See if the file exists.
- 2) lxi d,fcb
- 2) call bdos
- 2) cpi 0FFH ;Does it exist?
- 2) jz gofil9 ;If not create it.
- 2) lxi d,infms5
- 2) call error3
- 2) ; lda temp2 ;Get the number of chars in the file name.
- **************
- 1)1 call prtstr ; write string to console
- ****
- 2)1 lxi d,fnbuf ;[MF]Point to string
- 2) call prtstr ; write string to console
- **************
-
-
- I may be reached on BITNET by E-mail to mailer@uwalocke with the subject-line
- containing the phrase <dec10%"bpa">.
- -- Mike Freeman; Bonneville Power Administration; Vancouver, Wa;
- Telephone (206)690-2307 --
-